package bio.filedemo1;

import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;

/**
 * @author charwayH
 * 目标:实现服务端上传任意类型的文件数据给服务端保存起来
 */
public class Client {
    public static void main(String[] args) {
        try {
            // 1. 请求与服务端socket连接
            Socket socket = new Socket("127.0.0.1", 9995);
            // 2. 把字节输出流包装成一个数据输出流
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
            // 3. 先发送上传数据的文件的后缀给服务端
            dos.writeUTF(".txt");
            // 4. 把文件数据发送给服务端进行接收
            InputStream is = new FileInputStream("/Users/charwayh/Desktop/java-myself/hello-net-io/src/main/java/bio/filedemo1/source/sourceupload.txt");
            byte[] buffer = new byte[1024];
            int len;
            while ((len = is.read(buffer)) > 0){
                dos.write(buffer,0,len);
            }
            dos.flush();
            // 通知服务端数据已经发送完毕
            socket.shutdownOutput();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}